/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2000-2006 * Sleepycat Software. All rights reserved. * * $Id: TransactionStats.java,v 1.1 2006/05/06 08:59:36 ckaestne Exp $ */ package com.sleepycat.je; import java.io.Serializable; import java.util.Date; /** * Javadoc for this public class is generated * via the doc templates in the doc_src directory. */ public class TransactionStats implements Serializable { /** * The time the last completed checkpoint finished (as the number * of seconds since the Epoch, returned by the IEEE/ANSI Std * 1003.1 (POSIX) time interface). */ private long lastCheckpointTime; /** * The last transaction ID allocated. */ private long lastTxnId; /** * The number of transactions that are currently active. */ private int nActive; /** * The number of transactions that have begun. */ private int nBegins; /** * The number of transactions that have aborted. */ private int nAborts; /** * The number of transactions that have committed. */ private int nCommits; /** * The number of XA transactions that have aborted. */ private int nXAAborts; /** * The number of XA transactions that have been prepared. */ private int nXAPrepares; /** * The number of XA transactions that have committed. */ private int nXACommits; /** * The array of active transactions. Each element of the array is * an object of type TransactionStats.Active. */ private Active activeTxns[]; /** * Internal use only. */ public TransactionStats() { } /** * The Active class represents an active transaction. */ public static class Active implements Serializable { /** * The transaction ID of the transaction. */ private long txnId; /** * The transaction ID of the parent transaction (or 0, if no parent). */ private long parentId; /** * The transaction name, including the thread name if available. */ private String name; /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public long getId() { return txnId; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public long getParentId() { return parentId; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public String getName() { return name; } /** * Internal use only. */ public Active(String name, long txnId, long parentId) { this.name = name; this.txnId = txnId; this.parentId = parentId; } public String toString() { return "txnId = " + txnId + " txnName = " + name; } } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public Active[] getActiveTxns() { return activeTxns; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public long getLastCheckpointTime() { return lastCheckpointTime; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public long getLastTxnId() { return lastTxnId; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNAborts() { return nAborts; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNXAAborts() { return nXAAborts; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNXAPrepares() { return nXAPrepares; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNActive() { return nActive; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNBegins() { return nBegins; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNCommits() { return nCommits; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNXACommits() { return nXACommits; } /** * Internal use only. */ public void setActiveTxns(Active[] actives) { activeTxns = actives; } /** * Internal use only. */ public void setLastCheckpointTime(long l) { lastCheckpointTime = l; } /** * Internal use only. */ public void setLastTxnId(long val) { lastTxnId = val; } /** * Internal use only. */ public void setNAborts(int val) { nAborts = val; } /** * Internal use only. */ public void setNXAAborts(int val) { nXAAborts = val; } /** * Internal use only. */ public void setNActive(int val) { nActive = val; } /** * Internal use only. */ public void setNBegins(int val) { nBegins = val; } /** * Internal use only. */ public void setNCommits(int val) { nCommits = val; } /** * Internal use only. */ public void setNXACommits(int val) { nXACommits = val; } /** * Internal use only. */ public void setNXAPrepares(int val) { nXAPrepares = val; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public String toString() { StringBuffer sb = new StringBuffer(); sb.append("nBegins=").append(nBegins).append('\n'); sb.append("nAborts=").append(nAborts).append('\n'); sb.append("nCommits=").append(nCommits).append('\n'); sb.append("nXAPrepares=").append(nXAPrepares).append('\n'); sb.append("nXAAborts=").append(nXAAborts).append('\n'); sb.append("nXACommits=").append(nXACommits).append('\n'); sb.append("nActive=").append(nActive).append('\n'); sb.append("activeTxns=["); if (activeTxns != null) { for (int i = 0; i < activeTxns.length; i += 1) { sb.append(" ").append(activeTxns[i]).append('\n'); } } sb.append("]\n"); sb.append("lastTxnId=").append(lastTxnId).append('\n'); sb.append("lastCheckpointTime="). append(new Date(lastCheckpointTime)).append('\n'); return sb.toString(); } }